//
//  WKBaseTableViewController.swift
//  WKWeibo
//
//  Created by 恋guang年 on 16/3/25.
//  Copyright © 2016年 恋guang年. All rights reserved.
//在loadView里面判断用户是否已经保存登录信息 如果已经登录则设置访客视图 没有调用父类的loadView
import UIKit

class WKBaseTableViewController: UITableViewController {
   
    //用户登录标志
    let loginFlag = WKUserAccountViewModel.sharedInstance.isUserLogin
    override func loadView() {
        loginFlag ? super.loadView() : setUpVistorView()
    }
    
    //设置访客视图
    func setUpVistorView(){
        
        view = vistorView
        vistorView.delegate = self
        // 在这里根据不同的控制器类型来设置不同的访客视图内容
        if self is WKHomeTableViewController{
            vistorView.addRotation()
        }
        if self.isKindOfClass(WKMessageTableViewController){
            vistorView.setUpVistorView("visitordiscover_image_message", messageText: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
            
        }
        if self.isKindOfClass(WKProfileTableViewController){
            vistorView.setUpVistorView("visitordiscover_image_profile", messageText: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
            
        }
        if self.isKindOfClass(WKDiscoverTableViewController){
            vistorView.setUpVistorView("visitordiscover_image_message", messageText: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
            
        }
           // 导航栏的按钮,不是根据导航控制器来的.根导航控制器当前正在显示的根控制器相关
        let leftButton = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action:  "vistorViewDidClickRegisterButton")

        leftButton.setTitleTextAttributes([NSFontAttributeName:UIFont.systemFontOfSize(17)], forState: UIControlState.Normal)
        navigationItem.leftBarButtonItem = leftButton
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewDidClickLoginButton")
            navigationItem.rightBarButtonItem!.setTitleTextAttributes([NSFontAttributeName:UIFont.systemFontOfSize(17)], forState: UIControlState.Normal)
       
    }
    //MARK: - 懒加载
    ///  自定义访客视图
    private lazy var vistorView : WKVistorView = WKVistorView()
    
  
}
//MARK: - 实现代理方
// MARK: - 成为访客视图代理 接管两个按钮的点击事件 实现代理方法
extension WKBaseTableViewController : WKVistorViewDelegate{
    func vistorViewDidClickLoginButton() {
   
        //弹出登录界面
        let authVC = WKOAuthController()
        
        presentViewController(UINavigationController(rootViewController: authVC), animated: true, completion: nil)
    }
    func vistorViewDidClickRegisterButton() {
             print(__FUNCTION__)
    }
}











